from datetime import timedelta

import logging
from redis import StrictRedis


class Congif(object):
    # 设置秘钥
    SECRET_KEY = 'asdadqwdacz'
    DEBUG = True
    SEND_MAX_AGE_DEFAULT = 24 * 3600  # 更改图片缓存时间
    # 配置数据库的信息
    SQLALCHEMY_DATABASE_URI = "mysql://root:mysql@localhost:3306/info11"
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    SQLAICHEMY_COMMIT_ON_TEARDOWN = True   # 当时图函数结束之后会自动提交

    # redis配置
    REDIS_HOST = "127.0.0.1"
    REDIS_PORT = 6379

    # 配置session信息
    SESSION_TYPE = 'redis'
    SESSION_REDIS = StrictRedis(host=REDIS_HOST, port=REDIS_PORT)
    SESSION_USE_SIGNER = True
    PERMANENT_SESSION_LIFETIME = timedelta(days=2)  # session 有效期两天

    # 默认的日志级别
    LEVEL = logging.DEBUG
"""
为了方便去管理整个项目更方便维护和可读:
    将所有的配置信息抽取到了config,设置了不同环境下的配置信息
    将配置信息使用容器管理 方便获取
"""
# 开发环境
class Develop(Congif):
    pass


# 生产环境
class Product(Congif):
    DEBUG = True
    LEVEL = logging.ERROR


# 测试环境
class Testing(Congif):
    TESTING = True

# 提供一个容器  管理所有的配置类
Dict = {
    'develop': Develop,
    'product': Product,
    'testing': Testing
}

